fread()
, fwrite()
, এবং fprintf()
এর মাধ্যমে ফাইল থেকে ডেটা পড়া এবং লেখাসি প্রোগ্রামিং ভাষায় fread()
, fwrite()
, এবং fprintf()
ফাংশনগুলো ফাইলের মাধ্যমে ডেটা পড়া এবং লেখা পরিচালনা করার জন্য ব্যবহৃত হয়। এগুলো stdio.h
হেডার ফাইলের অংশ এবং বাইনারি বা টেক্সট ফাইল থেকে ডেটা ম্যানিপুলেট করার জন্য বিশেষভাবে ব্যবহার করা হয়।
এখানে এই ফাংশনগুলোর ব্যবহার এবং তাদের কার্যকারিতা বিস্তারিতভাবে আলোচনা করা হলো।
fread()
– ফাইল থেকে ডেটা পড়াfread()
ফাংশনটি ফাইল থেকে নির্দিষ্ট পরিমাণ ডেটা পড়ে এবং এটি একটি বাফারে স্টোর করে। এটি সাধারণত বাইনারি ফাইল থেকে ডেটা পড়ার জন্য ব্যবহৃত হয়, তবে এটি টেক্সট ফাইল থেকেও পড়তে পারে। fread()
ফাংশনটি প্রতিটি এলিমেন্টের জন্য ডেটা পড়ে এবং সেগুলো একটি নির্দিষ্ট বাফারে জমা করে।
size_t fread(void *ptr, size_t size, size_t count, FILE *file_pointer);
ptr
– যেখান থেকে ডেটা পড়া হবে (বাফার)।size
– প্রতিটি এলিমেন্টের আকার।count
– মোট এলিমেন্টের সংখ্যা।file_pointer
– ফাইল পয়েন্টার, যেখানে থেকে ডেটা পড়া হবে।#include <stdio.h>
int main() {
FILE *file = fopen("data.bin", "rb"); // বাইনারি ফাইল খোলা
if (file == NULL) {
printf("File not found.\n");
return 1;
}
int buffer[5];
fread(buffer, sizeof(int), 5, file); // ফাইল থেকে 5টি ইন্ট পড়া
for (int i = 0; i < 5; i++) {
printf("%d ", buffer[i]); // পড়া ডেটা আউটপুট
}
fclose(file);
return 0;
}
এখানে fread()
ফাংশনটি 5টি ইন্টিজারের জন্য মেমোরি বরাদ্দ করেছে এবং data.bin
ফাইল থেকে ডেটা পড়েছে।
fwrite()
– ফাইলে ডেটা লেখাfwrite()
ফাংশনটি ফাইলে ডেটা লেখার জন্য ব্যবহৃত হয়। এটি বাইনারি ফাইলের জন্য উপযোগী এবং ফাইলের মধ্যে নির্দিষ্ট পরিমাণ ডেটা লেখে।
size_t fwrite(const void *ptr, size_t size, size_t count, FILE *file_pointer);
ptr
– যেখান থেকে ডেটা লেখা হবে।size
– প্রতি এলিমেন্টের আকার।count
– মোট এলিমেন্টের সংখ্যা।file_pointer
– ফাইল পয়েন্টার, যেখানে ডেটা লেখা হবে।#include <stdio.h>
int main() {
FILE *file = fopen("data.bin", "wb"); // বাইনারি ফাইল খোলা
if (file == NULL) {
printf("File not opened.\n");
return 1;
}
int data[] = {1, 2, 3, 4, 5};
fwrite(data, sizeof(int), 5, file); // ফাইলে 5টি ইন্ট লেখা
fclose(file);
return 0;
}
এখানে fwrite()
ফাংশনটি 5টি ইন্টিজার data
অ্যারের মধ্যে থেকে data.bin
ফাইলে লিখেছে।
fprintf()
– ফাইলে ফরম্যাটেড আউটপুট লেখাfprintf()
ফাংশনটি কনসোলের আউটপুটের মতো ফাইলেও ফরম্যাটেড আউটপুট লেখার জন্য ব্যবহৃত হয়। এটি printf()
এর মতোই কাজ করে, তবে আউটপুট কনসোলের পরিবর্তে ফাইলে লেখা হয়।
int fprintf(FILE *file_pointer, const char *format, ...);
file_pointer
– ফাইল পয়েন্টার, যেখানে আউটপুট লেখা হবে।format
– ফরম্যাট স্ট্রিং, যা আউটপুটের স্টাইল নির্ধারণ করে।#include <stdio.h>
int main() {
FILE *file = fopen("output.txt", "w"); // ফাইল লেখার জন্য খোলা
if (file == NULL) {
printf("File not opened.\n");
return 1;
}
fprintf(file, "Name: %s\nAge: %d\n", "John", 30); // ফরম্যাটেড আউটপুট ফাইলে লেখা
fclose(file);
return 0;
}
এখানে fprintf()
ফাংশনটি output.txt
ফাইলে "Name: John"
এবং "Age: 30"
ফরম্যাটে আউটপুট লিখেছে।
ফাংশন | কাজ | সিঙ্কট্যাক্স |
---|---|---|
fread() | ফাইল থেকে ডেটা পড়া | size_t fread(void *ptr, size_t size, size_t count, FILE *file_pointer); |
fwrite() | ফাইলে ডেটা লেখা | size_t fwrite(const void *ptr, size_t size, size_t count, FILE *file_pointer); |
fprintf() | ফাইলের মাধ্যমে ফরম্যাটেড আউটপুট লেখা | int fprintf(FILE *file_pointer, const char *format, ...); |
এই ফাংশনগুলোর মাধ্যমে সি প্রোগ্রামে ফাইল থেকে ডেটা পড়া এবং ফাইলে ডেটা লেখা যায়। fread()
এবং fwrite()
বাইনারি ফাইলের জন্য ব্যবহৃত হয়, যখন fprintf()
ফরম্যাটেড টেক্সট আউটপুট ফাইলে লেখার জন্য ব্যবহৃত হয়।
common.read_more